The disclosed embodiments relate to configuring a wireless device to automatically invoke various applications based on the occurrence of events or conditions.
Current wireless communication devices such as cellular phones and various handheld devices typically include one or more “native” application programs stored on the device by the manufacture to perform specific functions. For example, cellular phones have a call controller native application that receives and recognizes keypad inputs and responds appropriately. If the keypad entry is a valid phone number, the call controller responds by attempting to establish a communication channel with the device identified by the number.
At present, remote execution of applications on a device is done by determining, at the provider side, what the device is to do, under what conditions the device is to do it, and what applications will be executed. Currently, a signal can be sent to a device to cause the device to take a predefined action. A small subset of these actions can be invoked remotely by the user or the wireless service carrier, or provider. For example, a short message service (“SMS”) message can invoke a particular program.
As a more detailed example, some handheld devices can receive a signal that causes the device to notify the user a certain stock price has been reached. This is an example of a specific application on the wireless device performing a particular action in response to a predetermined signal. On the provider side, in response to an event (the stock reaching a predetermined price), a provider merely creates a text message and sends it to the device for display. The human user must read the message and decide how to act on it.
The ability of the user to configure automatic device behavior and the ability to remotely invoke application on a device is very limited. Currently, remote device configuration is typically done by the provider at a level below the application level. Another limitation of the current server-side remote device application invocation is the provider must know what applications are on the device and how each is configured. This does not usually present a problem because most devices, for example most cellular phones, do not store applications other than the native applications installed by the provider. In the near future, most or all cellular phones and other mobile devices will support user-downloaded applications from various third parties. Each of these downloaded applications must be configured individually by the user. Each user may configure an application differently on a device. The variety of configurations is potentially unlimited. Therefore, the current model of provider remote invocation of device behavior becomes unworkable with downloadable applications because the provider no longer knows what the device is capable of, or exactly how it performs tasks it is capable of.
Overall, there is a need for an improved user-configurable wireless device that recognizes events and conditions specified by the user and automatically performs a series of user user-configured actions using one or more user-configured applications.